Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
ІКТА
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2013
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Інші

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА Кафедра ЗІ / ЗВІТ До лабораторної роботи №2 МЕТОД ГАУССА ДЛЯ РОЗВ’ЯЗУВАННЯ СИСТЕМ ЛІНІЙНИХ АЛГЕБРАЇЧНИХ РІВНЯНЬ Варіант №13 Львів – 2013 1. МЕТА РОБОТИ Ознайомлення з прямими методами розв’язування систем лінійних алгебраїчних рівнянь. 2. ЗАВДАННЯ ДО ЛАБОРАТОРНОЇ РОБОТИ Розв’язати систему лінійних алгебраїчних рівнянь методом Гаусса.   Варіант Метод К, Р  13  МЕТОД - LU 2,1   Метод LU – розвитку Це одна з модифікацій методу Гауса. Матрицю А зображають у вигляді добутку двох трикутних матриць: , де   (7) Тоді система коефіцієнтів системи з  рівнянь набуде вигляду  (9)  (10) Прямий хід тут – це розв’язування системи (9), зворотний – розв’язування системи (10). Елементи матриць  і  обчислюють послідовно: спочатку елементи першого стовпця матриці , потім – першого рядка матриці  і перший елемент вектора ; далі – другий стовпець матриці , другий рядок матриці  і другий елемент вектора  і так далі:     Під час зворотного ходу визначають невідомі :  Текст програми using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Laba2 { class Program { static void Main(string[] args) { int n = 4, p = 1, K = 2; double s = 0.2 * K, b = 0.2 * p; double[,] A = new double[,] { {8.3, 2.62 + s, 4.1, 1.9}, {3.92, 8.45, 7.78 - s, 2.46}, {3.77, 7.21 + s, 8.04, 2.28}, {2.21, 3.65 - s, 1.69, 6.69} }; double[] B = new double[] { -10.65 + b, 12.21, 15.45 - b, -8.35 }; double[,] L = new double[n, n], U = new double[n, n]; double[] X = new double[n], Y = new double[n]; //lu - розклад for (int k = 0; k < n; k++) { for (int i = k; i < n; i++) { double sum = 0; for (int m = 0; m <= k - 1; m++) sum += L[i, m] * U[m, k]; L[i, k] = A[i, k] - sum; } for (int j = k + 1; j < n; j++) { double sum = 0; for (int m = 0; m <= k - 1; m++) sum += L[k, m] * U[m, j]; U[k, j] = (A[k, j] - sum) / L[k, k]; } U[k, k] = 1; } //прямий хід Y[0] = B[0] / L[0, 0]; for (int i = 1; i < n; i++) { double sum = 0; for (int m = 0; m <= i - 1; m++) sum += L[i, m] * Y[m]; Y[i] = (B[i] - sum) / L[i, i]; } //об. хід X[n - 1] = Y[n - 1]; for (int i = n - 2; i >= 0; i--) { double sum = 0; for (int m = i + 1; m < n; m++)////// sum += U[i, m] * X[m]; X[i] = Y[i] - sum; } Console.WriteLine("Розвязок системи X[]"); for (int i = 0; i < n; i++) Console.WriteLine(X[i]); Console.WriteLine(); Console.WriteLine("Перевiрка Вивiд B[]"); for (int i = 0; i < n; i++) Console.WriteLine(B[i]); Console.WriteLine(); Console.WriteLine("Перевiрка (вивiд суми A[i, j] * X[j])"); for (int i = 0; i < n; i++) Console.WriteLine(A[i, 0] * X[0] + A[i, 1] * X[1] + A[i, 2] * X[2] + A[i, 3] * X[3]); Console.ReadKey(); ...
Антиботан аватар за замовчуванням

04.11.2013 21:11

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини